﻿#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

using Weazel.Badger.Vhdl.Types;

namespace Weazel.Badger.Vhdl
{
  public interface IAttribute
  {
    Vhdl.Types.Type Type { get; }
    string ParentName { get; }
    string Name { get; }
  }

  public class SignalAttribute : IAttribute
  {
    private string name;
    public string Name
    {
      get
      {
        return name;
      }

      set
      {
        name = value;
      }
    }

    private Signal parent;
    public string ParentName
    {
      get
      {
        return parent.Name;
      }

      set
      {
        parent.Name = value;
      }
    }

    private Vhdl.Types.Type type;
    public Vhdl.Types.Type Type
    {
      get
      {
        return type;
      }

      set
      {
        type = value;
      }
    }

    public SignalAttribute(Signal parent, Vhdl.Types.Type type, string name)
    {
      this.name = name;
      this.parent = parent;
      this.type = type;
    }
  }
}
